package com.odm.communitymanage.ui.notifications

import androidx.recyclerview.widget.LinearLayoutManager
import com.chad.library.adapter.base.BaseQuickAdapter
import com.chad.library.adapter.base.viewholder.BaseViewHolder
import com.odm.communitymanage.R
import com.odm.communitymanage.base.BaseFragment
import com.odm.communitymanage.base.BaseMVVMFragment
import kotlinx.android.synthetic.main.fragment_system_notification.*

/**
 * @description: 系统通告 页
 * @author: ODM
 * @date: 2020/4/15
 */
class SystemNotificationFragment : BaseFragment() {

    private var adapter : SystemNotificationAdapter ?= null
    private var fakeData : MutableList<SystemNotificationData> = mutableListOf()

    init {
        fakeData.add(SystemNotificationData("2020-04-02  19:38","  第一届业主委员会自20xx年x月成立以来，努力履行业主大会议赋予的责任，由于部分委员因个人身体或工作原因先后提出辞职。为维护全体业主的利益，经业主委员会讨论决定开展增补新委员工作。    根据《物业管理条例》相关规定，结合目前业委会实际情况，决定对业委会成员进行增补，为体现公开、公平、公正的原则，现就有关事项公告如下：\n" +
                "   一.本次增补委员人数拟定4-5名。\n" +
                "   二.业主委员会委员应当符合下列条件：\n" +
                "    1、本物业管理区域内具有完全民事行为能力的业主；\n" +
                "    2、遵守国家有关法律、法规；\n" +
                "    3、遵守业主大会议事规则和管理规约，履行业主义务，未欠交物业服务费和其他相关费用；\n" +
                "    4、热心公益事业，责任心强，公正廉洁，具有社会公信力；\n" +
                "    5、具有一定组织能力；    6、具备必要的工作时间;7、必须是本物业区域内的常住户。\n" +
                "    三.增补业主委员会委员候选人在业主委员会及社区指导下由业主自荐或推荐产生，资格审核由业主委员会负责。\n" +
                "    四. 增补业主委员会委员由业主代表会议表决通过。\n" +
                "    五.自荐推荐报名时间:20xx年x月x日——2月x日。\n" +
                "    六.自荐推荐报名地点：社区服务中心，联系电话：131131XXXXXXXX " +
                "   \n 特此公告"))

        fakeData.add(SystemNotificationData("2020-03-28  19:38","  第一届业主委员会自20xx年x月成立以来，努力履行业主大会议赋予的责任，由于部分委员因个人身体或工作原因先后提出辞职。为维护全体业主的利益，经业主委员会讨论决定开展增补新委员工作。    根据《物业管理条例》相关规定，结合目前业委会实际情况，决定对业委会成员进行增补，为体现公开、公平、公正的原则，现就有关事项公告如下：\n" +
                "   一.本次增补委员人数拟定4-5名。\n" +
                "   二.业主委员会委员应当符合下列条件：\n" +
                "    1、本物业管理区域内具有完全民事行为能力的业主；\n" +
                "    2、遵守国家有关法律、法规；\n" +
                "    3、遵守业主大会议事规则和管理规约，履行业主义务，未欠交物业服务费和其他相关费用；\n" +
                "    4、热心公益事业，责任心强，公正廉洁，具有社会公信力；\n" +
                "    5、具有一定组织能力；    6、具备必要的工作时间;7、必须是本物业区域内的常住户。\n" +
                "    三.增补业主委员会委员候选人在业主委员会及社区指导下由业主自荐或推荐产生，资格审核由业主委员会负责。\n" +
                "    四. 增补业主委员会委员由业主代表会议表决通过。\n" +
                "    五.自荐推荐报名时间:20xx年x月x日——2月x日。\n" +
                "    六.自荐推荐报名地点：社区服务中心，联系电话：131XXXXXXXX " +
                "   \n 特此公告"))

        fakeData.add(SystemNotificationData("2020-03-25  19:38","  第一届业主委员会自20xx年x月成立以来，努力履行业主大会议赋予的责任，由于部分委员因个人身体或工作原因先后提出辞职。为维护全体业主的利益，经业主委员会讨论决定开展增补新委员工作。    根据《物业管理条例》相关规定，结合目前业委会实际情况，决定对业委会成员进行增补，为体现公开、公平、公正的原则，现就有关事项公告如下：\n" +
                "   一.本次增补委员人数拟定4-5名。\n" +
                "   二.业主委员会委员应当符合下列条件：\n" +
                "    1、本物业管理区域内具有完全民事行为能力的业主；\n" +
                "    2、遵守国家有关法律、法规；\n" +
                "    3、遵守业主大会议事规则和管理规约，履行业主义务，未欠交物业服务费和其他相关费用；\n" +
                "    4、热心公益事业，责任心强，公正廉洁，具有社会公信力；\n" +
                "    5、具有一定组织能力；    6、具备必要的工作时间;7、必须是本物业区域内的常住户。\n" +
                "    三.增补业主委员会委员候选人在业主委员会及社区指导下由业主自荐或推荐产生，资格审核由业主委员会负责。\n" +
                "    四. 增补业主委员会委员由业主代表会议表决通过。\n" +
                "    五.自荐推荐报名时间:20xx年x月x日——2月x日。\n" +
                "    六.自荐推荐报名地点：社区服务中心，联系电话：131XXXXXXXX " +
                "   \n 特此公告"))
    }



    override fun initViews() {
        rvSystemNotification.layoutManager = LinearLayoutManager(requireContext())
        adapter = SystemNotificationAdapter(fakeData)
        rvSystemNotification.adapter  = adapter
    }

    override fun getLayoutId(): Int {
            return R.layout.fragment_system_notification
    }

    override fun shouldPopUpCloseDialog(): Boolean {
        return true
    }


    data class SystemNotificationData(
        val time : String ,
        val content : String
    )

    class SystemNotificationAdapter (data : MutableList<SystemNotificationData>)
        : BaseQuickAdapter<SystemNotificationData, BaseViewHolder>(R.layout.item_system_notificaion , data) {
        override fun convert(holder: BaseViewHolder, item: SystemNotificationData) {
            holder.setText(R.id.tvTime_SystemNotification , item.time)
            holder.setText(R.id.tvContent_SystemNotification , item.content)
        }
    }


}